
orderExpire = 3 //days

// otwierania linku o klasie openNew w nowym oknie
function newWindow () {
	var hyperlink = document.getElementsByTagName('a');
	
	for (var i=0; i<hyperlink.length; i++) {
		if (String(hyperlink[i].className).match("openNew")) {
			hyperlink[i].onclick = function () {
				window.open(this.href);
				return false;
			}
		}
	}
}


function getScrollerWidth() {
    var scr = null;
    var inn = null;
    var wNoScroll = 0;
    var wScroll = 0;

    // Outer scrolling div
    var scr = document.createElement('div');
    scr.style.position = 'absolute';
    scr.style.top = '-1000px';
    scr.style.left = '-1000px';
    scr.style.width = '100px';
    scr.style.height = '50px';
    // Start with no scrollbar
    scr.style.overflow = 'hidden';

    // Inner content div
    var inn = document.createElement('div');
    inn.style.width = '100%';
    inn.style.height = '200px';

    // Put the inner div in the scrolling div
    scr.appendChild(inn);
    // Append the scrolling div to the doc

    document.body.appendChild(scr);

    // Width of the inner div sans scrollbar
    var wNoScroll = inn.offsetWidth;
    // Add the scrollbar
    scr.style.overflow = 'auto';
    // Width of the inner div width scrollbar
    var wScroll = inn.offsetWidth;

    // Remove the scrolling div from the doc
    document.body.removeChild(
    document.body.lastChild);

    // Pixel width of the scroller
    return (wNoScroll - wScroll);
}


function switchSearchForm(){
    //var form_simple = document.getElementById("search_simple")
    //var form_advanced = document.getElementById("search_advanced")
    //if( ! ($('search_simple') && $('search_advanced')) )
        //return false

    if (  $('search_advanced').style.visibility=='hidden'){
        $('search_simple').style.visibility = 'hidden'
        $('search_simple').style.position = 'absolute'
        $('search_advanced').style.position = 'relative'
        $('search_advanced').style.visibility = 'visible'
    }
    else{
        $('search_advanced').style.visibility = 'hidden'
        $('search_advanced').style.position = 'absolute'
        $('search_simple').style.position = 'relative'
        $('search_simple').style.visibility = 'visible'
    }
    return true
}



function infoDivVisibilityChange(divId, action){
    //var div = document.getElementById(divId)
    if ( ! $(divId) )
        return false

    if ( ! action || action == 'switch' ){
        if ( $(divId).getStyle('visibility') == 'visible' ){
            $(divId).setStyle({visibility:'hidden'})
        }
        else{
            $(divId).setStyle({visibility:'visible'})
        }
        return true
    }

    if (action == 'show'){
        $(divId).setStyle({visibility:'visible'})
        return true
    }

    if (action == 'hide'){
        $(divId).setStyle({visibility:'hidden'})
        return true
    }
    
}


//cookies 
function SetCookie(name, value, expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
  data=name+"="+escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
  if ((size=data.length)<4096)
  {
    document.cookie=data;
    return size;
  }
  else
    return 0;
}


// odczytanie ciasteczka:
function GetCookie(name)
{
  var search=name+"=";
  if (document.cookie.length>0 && (offset=document.cookie.indexOf(search))!=-1)
  {
    offset+=search.length;
    if ((end=document.cookie.indexOf(";", offset))==-1)
      end=document.cookie.length;
    return unescape(document.cookie.substring(offset, end));
  }
}

// wyszukanie w zamowieniu zdjecia o zadanym identyfikatorze:
function order_match(photoid, order)
{
//////  re=new RegExp("(^|.*:)("+photoid+",(\\d*),(\\d*),(\\d*),(\\d*):)(.*)$");
  re=new RegExp("(^|.*:)("+photoid+",([a-z]*),(\\d*),([\\d\\.]*),([\\d]*),([sl]*),([a-z0-9._]*):)(.*)$");
  //             ( 1 )   (   2        (  3 )  (  4 ) (  5 )      (  6 )   (  7 )   ( 8 )  ) ( 9 )
  //typ - a :audio, v:video, t:text, p:photo
  // 1 - poprzednie dane
  // 2 - opis zdjecia: typ, identyfikator, format (3), rozdzielczosc (4), szerokosc (5)
      // 3 - format
      // 4 - resolution
      // 5 - product_size_cm
      // 6 - product_size_pkt
      // 6 - product_size_direction
      // 8 - product_fname
  // 9 - nastepne dane
  return re.exec(order);
}


// dodanie zdjecia do zamowienia:
function order_add(id,photoid, filetype, resolution, product_size_cm, product_size_pkt , product_size_direction, product_fname)
{
    var order=GetCookie(Order_name);
    if (!order) order="";

    var new_filetype = ''
    var new_resolution = ''
    var new_product_size_cm = ''
    var new_product_size_pkt = ''
    var new_product_size_direction = ''
    var new_product_fname = ''

    var result=order_match(photoid, order);

    if(result){
        if ( result[3] )
          new_format = result[3]
        if ( result[4] )
          new_resolution = result[4]
        if ( result[5] )
          new_product_size_cm = result[5]
        if ( result[6] )
          new_product_size_pkt = result[6]
        if ( result[7] )
          new_product_size_direction = result[7]
        if ( result[8] )
          new_product_fname = result[8]
    }

    if (filetype) new_filetype=filetype;
    if (resolution) new_resolution = resolution
    if (product_size_cm) new_product_size_cm = product_size_cm
    if (product_size_pkt) new_product_size_pkt = product_size_pkt
    if (product_size_direction) new_product_size_direction = product_size_direction
    if (product_fname) new_product_fname = product_fname

    if (result && result[2])
        order = result[1] + photoid + ',' + new_filetype + ',' + new_resolution + ',' + new_product_size_cm + ',' + new_product_size_pkt + ',' + new_product_size_direction + ',' + new_product_fname + ':' + result[9]
    else
        order+=photoid + ',' + new_filetype + ',' + new_resolution + ',' + new_product_size_cm + ',' + new_product_size_pkt + ',' + new_product_size_direction + ',' + new_product_fname + ':'

    if ( ! SetCookie(Order_name, order, orderExpire) )
        return 0
    if (!result){
        var dcnt = $('koszyk_cnt')
        dcnt.update(parseInt(dcnt.innerHTML)+1)
    }
    return 1
}


// usuniecie zdjecia z zamowienia:
function order_remove(id,photoid)
{
  var order=GetCookie(Order_name);
  if (order)
  {
    var result=order_match(photoid, order);
    if (result && result[2])
        SetCookie(Order_name, result[1]+result[9] , orderExpire);
    id.className = 'ikoszyk'
    var dcnt = $('koszyk_cnt')
    dcnt.update(parseInt(dcnt.innerHTML)-1)
    if(dcnt.nodeValue<0)
        dcnt.nodeValue=0
    return 1
  }
}


// sprawdzenie, czy zdjecie znajduje sie w zamowieniu:
function in_order(photoid)
{
  var order=GetCookie(Order_name);
  if (order)
  {
    var result=order_match(photoid, order);
    return result && result[2];
  }
  return false;
}


function orderCount()
{
    var order=GetCookie(Order_name);
    if (! order )
        return 0
    return order.split(':').length-1
}


// usuniecie wszystkich zdjec z zamowienia:
function order_clear()
{
  SetCookie(Order_name, "");
  $('koszyk_cnt').update("0")
  //document.getElementById('koszyk_cnt').childNodes[0].nodeValue=0
}



// wyswietlenie zawartosci lub wyslanie zamowienia:
function order_place(url)
{
  value=GetCookie(Order_name)
  if (value)
  {
    SetCookie(Order_name, value);
    window.location=url;
  }
  else
    alert("Nie zostały zamówione żadne zdjęcia.");
}


// zmiana zamowienia:
/////////function order_change(id,photoid, filetype, resolution, horzsize, vertsize, minpixeldim, maxpixeldim)

function order_change(id,photoid, filetype, resolution,  product_size_cm , product_size_pkt, product_size_direction, product_fname)
{
    //alert('aaa')
    Element.extend(id)
    if( id.tagName=='A'){
        var selected = (id.className == 'ikoszyk')
        var select = function (id) {id.className = 'ikoszyk_selected';}
        var deselect = function (id) {id.className = 'ikoszyk';}
    }
    else if( id.type=='checkbox'){
        var selected = id.checked
        var select = function (id) {id.checked = true;}
        var deselect = function (id) {id.checked = false;}
    }
    else if( id.tagName=='SELECT'){
        var selected = true
        var select = function (id) {id.checked = true;}
        var deselect = function (id) {id.checked = false;}
    }
    else{
        var selected = true
        var select = function(id){}
        var deselect = function(id){}
    }

    if ( selected ){

        //if (isNaN(width) || width<=0){
         //   width=0;
//        else{
//            width=Math.round(resolution*horzsize/2.54);
//
//            if (Math.min(width, height)<minpixeldim || Math.max(width, height)>maxpixeldim){
//                width=height=0;
//                alert("Podany rozmiar zdjecia jest nieprawidlowy.\nMinimalna dlugosc boku zdjecia o rozdzielczosci "+resolution+" dpi wynosi "+Math.round(25.4*minpixeldim/resolution)/10+" cm, a maksymalna "+Math.round(25.4*maxpixeldim/resolution)/10+" cm.\nW przypadku nietypowego zamowienia prosimy o skontaktowanie sie z Akpa Polska Press.");
//                return
//            }
       // }

        if (!order_add(id,photoid, filetype, resolution, product_size_cm, product_size_pkt, product_size_direction, product_fname)){
            alert("Koszyk zawiera zbyt wiele elementów.\nDodanie nowej pozycji do zamówienia jest niemożliwe.");
            deselect(id)
        }
        else
            select(id)

    }
    else{
        order_remove(id,photoid)
        deselect(id)
    }
}

/*
function checkAvail(fid){

    script='koszyk.php'

    if (fid && parseInt(fid.substring(1) )==NaN )
        return false

    //basket order
    if ( ! fid){
        fid = ''
    }

    new Ajax.Request(script,
      {
        method:'post',
        parameters: 'chkorder='+fid,
        onSuccess: function(transport){
            var response = transport.responseText
            status = parseInt(response[0])
            if (status==NaN){
                alert('Nieznany błąd')
                return 0
            }
            if (response.length > 1){
                alert(response.substring(1))
                if (status)
            }
        },
        onFailure: function(){ alert('Błąd w połączeniu.') }
      });

}
*/


function askForPhoto(id,text_photo){
    if( confirm('Czy dołączyć zdjęcie do zmówenia?') )
        checkOrder(id,text_photo)
    else
        checkOrder(id)
}




function prepareBasketElement(elem_no){
    if (elem_no >= orderCount() ){
        prepareBasketPack()
        return 1
    }
    new Ajax.Request('/koszyk.php',
    {
        method : 'post',
        parameters : 'prepare_elem_no='+elem_no,
        onSuccess: function(transport){
            checkOrder.basket_href.innerHTML = 'Przygotowywanie zamówienia... ' + String(elem_no+1) + '/' + orderCount()
            prepareBasketElement(elem_no+1)
        }
        ,onFailure: function(){alert('Błąd w połączeniu.')}
    })
}


function prepareBasketPack(){
    checkOrder.basket_href.innerHTML = 'Przygotowywanie paczki...'
    new Ajax.Request('/koszyk.php',
    {
        method : 'post',
        parameters : 'prepare_order_zip=',
        onSuccess: function(transport){
            var response = transport.responseText
                if (response.length > 1){
                    getFile(response)
                }
        }
        ,onFailure: function(){alert('Błąd w połączeniu.')}
    })

}



function checkOrder(id, text_photo){
    if ( ! id)
        return

    if ( ! text_photo)
        text_photo=''

    var script = 'koszyk.php'

    if (id == 'download_zip' || id == 'email_delivery' || id == 'email_notification' ){
        if (id == 'download_zip')
            checkOrder.basket_href = $('pobierz')
        else if (id == 'email_delivery')
            checkOrder.basket_href = $('mailem')
        else if (id == 'email_notification')
            checkOrder.basket_href = $('ftp')
        checkOrder.basket_href.innerHTML = "Sprawdzanie zamówienia..."
        new Ajax.Request(script,
        {
            method : 'post',
            parameters : 'chkorder=',
            onSuccess: function(transport){
                var response = transport.responseText
                var status = parseInt(response.substring(0,1))
                if (status==NaN){
                    alert('Nieznany błąd')
                    return
                }
                if (response.length > 1)
                    alert(response.substring(1))
                if (status){
                    if ( id == 'download_zip' ){
                        checkOrder.basket_href.innerHTML = 'Przygotowywanie zamówienia... ' + '0' + '/' + orderCount()
                        prepareBasketElement(0)
                    }
                    else if ( id == 'email_delivery' || id == 'email_notification' ){
                        sendOrder(id)
                    }
                }
            },
            onFailure: function(){ alert('Błąd w połączeniu.') }
        });
    }
    else{//file_id
    new Ajax.Request(script,
      {
        method : 'post',
        parameters: 'chkorder='+id,
        onSuccess: function(transport){
            var response = transport.responseText
            var status = parseInt(response.substring(0,1))
            if (status==NaN){
                alert('Nieznany błąd')
                return 0
            }
            if (response.length > 1)
                alert(response.substring(1))
            if (status)
                $('hiddenIframe').contentWindow.location.href='koszyk.php?download_file='+id+'&text_photo='+text_photo
        },
        onFailure: function(){ alert('Błąd w połączeniu.') }
      });

    }

}


function getPhotoLastRes(li_id){
    Element.extend(li_id)
    if ( ! $(li_id).getElementsByClassName('res')[0] )
        return null
    return $(li_id).getElementsByClassName('res')[0].getElementsBySelector('select')[0].value 
}

function getPhotoLastProdSize(li_id){
    Element.extend(li_id)
    if ( ! $(li_id).getElementsByClassName('size')[0] )
        return null
    return $(li_id).getElementsByClassName('size')[0].getElementsBySelector('input')[0].value 
}

function getPhotoLastProdDirection(li_id){
    Element.extend(li_id)
    if ( ! $(li_id).getElementsByClassName('size')[0] )
        return null
    return $(li_id).getElementsByClassName('size')[0].getElementsBySelector('select')[0].value
}


function getFile(file_token){
    var frame = document.getElementById('subsubright')
    var i = 0
    while( i<frame.childNodes.length ){
        if ( frame.childNodes[i].id == 'save_file' )
            i+=1
        else
        frame.removeChild(frame.childNodes[i])
    }
    var href = 'koszyk.php?download_zip='+file_token
    var sf = document.getElementById('save_file')
    sf.getElementsByTagName("a")[0].href = href
    sf.style.display = 'block'
    order_clear()
    document.getElementById('hiddenIframe').contentWindow.location.href = href
}


function sendOrder(type){

    if ( ! (type == 'email_notification' || type == 'email_delivery') )
        return

    var frame = document.getElementById('subsubright')
    i = 0
    while( i<frame.childNodes.length ){
        if ( frame.childNodes[i].id == 'send_order' )
            i+=1
        else
        frame.removeChild(frame.childNodes[i])
    }
    var href = 'koszyk.php?' + type + '='
    window.location = href
}


function digitsAndDotOnly(el){
    el.value = el.value.replace(/[^\d\.]/g , '')
}

function digitsOnly(el){
    el.value = el.value.replace(/[^\d]/g , '')
}

function getFullText(id){
    if (! id)
        return

    var script = 'teksty.php'
    new Ajax.Request(script,
      {
        method : 'post',
        parameters: 'getfull='+id,
        onSuccess: function(transport){
            var response = transport.responseText
            var status = response.substring(0,1)
            if (status==NaN || ! status){
                alert('Nieznany błąd')
                return 0
            }
            else{
                $('descr').getElementsByClassName('short')[0].innerHTML = response.substring(1)
                growTextFrame()
                
            }
        },
        onFailure: function(){ alert('Błąd w połączeniu.') }
      });
}

function growTextFrame(){
    var i = 0
    //alert($('middle').childElements().length)
    while( i<$('middle').childElements().length ){
        if ( $('middle').childElements()[i].identify() == 'descr' )
            i+=1
        else
            $('middle').childElements()[i].remove()
    }
    $('middle').getElementsByClassName('more2')[0].remove()
    var descr = $('middle').getElementsByClassName('text')[0]
    $(descr).setStyle({float:''})
    $(descr).setStyle({width:'478px'})
    $(descr).setStyle({margin:'0 0'})
    $(descr).setStyle({float:'none'})
    $(descr).setStyle({height:'auto'})
    $(descr).setStyle({maxHeight:'600px'})
    $('short').setStyle({padding:'8px'})
    //$(short).setStyle({overflow:'auto;'})
    //$('otext').setStyle({background:'#cedeed';})
}

currdate = Date()
function saveDate(field){
    currdate = $F(field)
}

function checkDateField(field , delim){

    Element.extend(field)

    if ( $F(field).length != 10 ){
        alert('Nieprawidłowa data')
        $F(field) = currdate
        return 
    }

    re=new RegExp("(\\d{2}).(\\d{2}).(\\d{4})");
    if ( (res = re.exec($F(field))) == null ){
        alert('Nieprawidłowa data')
        $F(field) = currdate
        return
    }

    day = parseInt(res[1])
    month = parseInt(res[2])-1
    year = parseInt(res[3])

    date = new Date()
    date.setFullYear(year)
    date.setMonth(month)
    date.setDate(day)

    if ( ! (res[1]==date.getDate()) && (res[2]==date.getMonth()) && (res[3]==date.getFullYear()) ){
        alert('Nieprawidłowa data')
        $F(field) = currdate
        return
    }

}

function replaceTextSamplePhoto(e){
    var bigsample = $A(document.getElementsByName('bigsample')).map(Element.extend)
    var smallsample = $A(document.getElementsByName('smallsample')).map(Element.extend)
    var ikoszyk = $A(document.getElementsByName('ikoszyk')).map(Element.extend)
    var iinfo = $A(document.getElementsByName('iinfo')).map(Element.extend)
    var izapisz = $A(document.getElementsByName('izapisz')).map(Element.extend)
//    var powieksz = $A(document.getElementsByName('powieksz')).map(Element.extend)
    var l = bigsample.length
    for (i=0 ; i<l; i++){
        if ( i == e){
            bigsample[i].setStyle('display:block;')
            ikoszyk[i].setStyle('display:inline-block;')
            iinfo[i].setStyle('display:inline-block;')
            izapisz[i].setStyle('display:inline-block;')
//            powieksz[i].setStyle('display:inline-block;')
            smallsample[i].addClassName('selected')
        }
        else{
            bigsample[i].setStyle('display:none;')
            ikoszyk[i].setStyle('display:none;')
            iinfo[i].setStyle('display:none;')
            izapisz[i].setStyle('display:none;')
//            powieksz[i].setStyle('display:none;')
            smallsample[i].removeClassName('selected')
        }
    }    
}


function emptyAdvancedForm(){
        if (
                $('bigszukaj').getElementsByName('search_person')
            ||  $('bigszukaj').getElementsByName('search_title')
            ||  $('bigszukaj').getElementsByName('search_director_str')
            ||  $('bigszukaj').getElementsByName('search_photo_kword')
            ||  $('bigszukaj').getElementsByName('search_filename_str')
            )
            return 1
        else
            return 0
}


function infoHideAll(max_index){
    for ( i=-2 ; i<max_index  ;  i++ ){
        el = $('info'+i)
        if ( el )
            el.setStyle('visibility:hidden;')
    }
}

window.onload = function js() {

	newWindow();
	/*eventInfo();*/
}

function showLoginForm(){

Dialog.info({url: "../loginframe.html", options: {method: 'get'}}, {className: "alphacube", width:400, zIndex:50})
}
