$(document).ready(function() {

	$('span.uitleg').cluetip({
    splitTitle: '|'
	});
	$('a.basic').cluetip();
});

function check_adres ( form )
{	
	//alert ( 'ja1');
	var email_value =  $('#e-mail').val();
	//alert ( email_value );
	if (  email_value == 'E-mail adres' || email_value == ''  || !check_email ( email_value ) )
		return false;
	else
		return true;
	
}
function voorwaarden ( ) 
{
	 window.open ("/aanleveren.php5","mywindow","menubar=1,scrollbars=0,resizable=1,width=600,height=700");
}
function popup_hsl ( ) 
{
	 window.open ("/popup_hsl.php5","mywindow","menubar=1,scrollbars=0,resizable=1,width=600,height=250");
}

function toggle_foto ( img, foto ) 
{
	string = img.src;
 	img.src =  ( img.src.search  ( '_thumb' ) == -1 ) ? ( img.src = '/images/' + foto + '_thumb.jpg' )  : ( img.src = '/images/' + foto + '.jpg' ) ;
}

function check_email (email_string) 
{
	
	// Adres moet voldoen aan a@b patroon, wordt tevens gebruikt om user en domein te scheiden.
	var email_patroon = /^(.+)@(.+)$/;
	// Verzameling van "special chars", welke niet in een e-mailadres voor kunnen/mogen komen
	var speciale_characters = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	// Verzameling van toegestane chars (komt er op neer dat verboden chars uitgesloten worden)
	var toegestane_characters = "\[^\\s" + speciale_characters + "\]";
	// Blijkbaar mag je, als je het usergedeelte quoted neerzet, alle chars gebruiken (b.v. "info\#"@astecom.nl).
	var gebruiker_quoted = "(\"[^\"]*\")"
	// Patroon voor e-mailadres waarbij het domein een IP-adres is (moeten dan wel [] omheen staan).
	var ipdomein_patroon = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	// Volgende 4 regels wordt er een patroon voor een alfanumerieke user en domein opgesteld.
	var atom = toegestane_characters + '+';
	var word = "(" + atom + "|" + gebruiker_quoted + ")";
	var gebruiker_patroon = new RegExp ("^" + word + "(\\." + word + ")*$" ) ;
	var domein_patroon = new RegExp ("^" + atom + "(\\." + atom +")*$" ) ;
	
	// User en domein splitsen
	var match_array = email_string.match ( email_patroon );
	if ( match_array == null ) 
	{
		alert("E-mailadres lijkt niet correct (@ en/of . ontbreken).");
		return false;
	}
	
	var user = match_array [ 1 ];
	var domain = match_array [ 2 ];
	
	// Kijken of user geldig is
	if ( user.match ( gebruiker_patroon ) == null )
	{
		alert ( "Het ingevulde e-mailadres (gebruiker) is niet correct." );
		return false;
	}
	
	// Als domein een IP is, kijk of het correct geformuleerd is
	var ip_array = domain.match ( ipdomein_patroon );
	if ( ip_array != null ) 
	{
		// this is an IP address
		  for (var i=1; i<=4; i++) 
		  {
			if ( ip_array[i] > 255 ) 
			{
				alert ( "Er is geen geldig IP-adres opgegeven." );
				return false;
			}
		}
		return true;
	}
	
	// Domein is alfanumeriek, kijk of het geldig is
	var domainArray = domain.match ( domein_patroon );
	if (domainArray==null) 
	{
		alert ( "Het ingevulde e-mailadres (domein) is niet correct." ) ; 
		return false;
	}
	
	var atom_patroon = new RegExp ( atom, "g" );
	var domein_array = domain.match ( atom_patroon );
	var len = domein_array.length;
	
	// Kijk of het domein een juist extensie heeft
	if ( domein_array [ len - 1 ].length < 2 || domein_array [ len - 1 ].length > 4) 
	{
	   alert ( "Het adres moet op een landcode van 2 letters of een extensie van 3 of 4 letters eindigen." );
	   return false;
	}
	
	// Kijk of er wel een hostnaam in het domein voorkomt
	if (len < 2) 
	{
	   alert("Het ingevulde e-mailadres (domein) is niet correct.")
	   return false;
	}
	
	// Alle checks gehad, e-mailadres is correct
	return true;
}
function toggle_show_element ( elementId )
{
	element = document.getElementById( elementId );
	if ( element.style.display=='none' )
	{
		element.style.display='';
		element.style.zIndex='9';
	}
	else
	{
		if ( element_show_vastgezet [ elementId ] != '1' )
		{
			element.style.display='none';
			element.style.zIndex='0';
		}
	}
}
function toggle_vastzetten ( elementId )
{
	element_show_vastgezet [ elementId ] = element_show_vastgezet [ elementId ] == 1 ? 0 : 1;
}

var b2 ='';
function DisableButton(b)
{
	b.disabled = true;
	//alert( b.id );
	$( "#form" ).submit();
	//b.value = 'Bezig met versturen...';
	//alert( $( b ).class() );
	//return false;
	//b.form.submit();
	//document.form_submit.submit();
}

function number_format( number, decimals, dec_point, thousands_sep ) 
{
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://getsprink.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +     bugfix by: Howard Yeend
    // +    revised by: Luke Smith (http://lucassmith.name)
    // +     bugfix by: Diogo Resende
    // +     bugfix by: Rival
    // %        note 1: For 1000.55 result with precision 1 in FF/Opera is 1,000.5, but in IE is 1,000.6
    // *     example 1: number_format(1234.56);
    // *     returns 1: '1,235'
    // *     example 2: number_format(1234.56, 2, ',', ' ');
    // *     returns 2: '1 234,56'
    // *     example 3: number_format(1234.5678, 2, '.', '');
    // *     returns 3: '1234.57'
    // *     example 4: number_format(67, 2, ',', '.');
    // *     returns 4: '67,00'
    // *     example 5: number_format(1000);
    // *     returns 5: '1,000'
    // *     example 6: number_format(67.311, 2);
    // *     returns 6: '67.31'
 
    var n = number, prec = decimals;
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep;
    var dec = (typeof dec_point == "undefined") ? '.' : dec_point;
 
    var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = Math.abs(n).toFixed(prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
 
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
 
    return s;
}

/*function positioneer_uploadform() 
{
	console.log ( 'Erik' );

	var loc = document.getElementById('opvul_upload').offsetTop;
	if (document.getElementById('error_field')) 
	{
		var loc2 = document.getElementById('error_field').clientHeight;
		loc = loc - loc2;
	}
	console.log ( 'Erik2'+loc );
	document.getElementById('upload_form').style.marginTop = loc + 'px';
}*/

function geef_adres_weer( naam, domein, extensie )
{
	email = ( naam + '@' + domein + '.' + extensie);
	document.write('<a href="mailto:' + email + '"">' + email + '</a>');
}

function startUpload(){
  document.getElementById('f1_upload_process').style.visibility = 'visible';
  document.getElementById('upload_inputs').style.display='none';
  return true;
}

function stopUpload(success, returntext){
	var result = '';
	if (success == 1)
	{
		// document.getElementById('result').innerHTML = '<span class="msg">The file was uploaded successfully!<\/span><br/>';
		// document.getElementById ( 'logo_overzicht' ).style.display = '';

		document.getElementById ( 'tekst_geen_logos' ).style.display = 'none';
		var content = document.getElementById ( 'logo_overzicht' ).innerHTML;
		document.getElementById ( 'logo_overzicht' ).innerHTML = content + returntext;
		//console.log (  );
		$("[name=logo_keuze]").attr("checked", false); 
		$("[name=logo_keuze]:last-child").attr("checked", true); 
	}
	else 
	{
		// document.getElementById('result').innerHTML = '<span class="emsg">'+returntext+'<\/span><br/><br/>';
		alert ( returntext );
	}
	
	document.getElementById('upload_inputs').style.display='';
	document.getElementById('f1_upload_process').style.visibility = 'hidden';
	return true;
}

function toggle_large (link_plaatje) 
{
	//alert ('hoi');
	//alert (link_plaatje.firstChild.src);
	document.getElementById('hoofd_illustratie').src=link_plaatje.firstChild.src;

}

function is_empty( elem )
{
	if( elem.value.length == 0 )
	{
		elem.focus ( );
		return true;
	}
	//alert(elem.value.length);

	return false;
}

function verander_kleur ( waarde, divid )
{
	//alert ( waarde + '\r\n' + divid );
	if ( !pms_kleuren [ waarde ] )
	{ 
		//alert ('Ons online systeem kan deze code niet verifiëren. Weet u zeker dat de code \'' + waarde + '\' een bestaande PMS code is? '); 
	}
	else
	{
		document.getElementById(divid).style.backgroundColor = pms_kleuren [ waarde ];
	}
}




function show_drukkleur ( drukkleur_nummer )
{
	document.getElementById ( 'artikel_drukkleur_regel_'+drukkleur_nummer ).className = 'drukkleur_show';
	//alert (	document.getElementById ( 'drukkleur_regel_'+nummer ).className);
	if ( laatste_open_drukkleur == 4 )
	{
		document.getElementById ( 'artikel_meer_drukkleuren_link' ).style.display = 'none';
		document.getElementById ( 'artikel_full_colour_uitleg' ).style.display = '';
		
	}
	
}
function toggle_pms_kiezen ( volgnummer  )
{
//alert ('hoi'+nummer);			
//alert ( 'ja' );

	for ( drukkleur_nummer=1; drukkleur_nummer<=4; drukkleur_nummer++)
	{
	
		var select_id = document.getElementById ( 'artikel_drukkleur_'+drukkleur_nummer );
		var input_id = document.getElementById ( 'artikel_drukkleur_'+drukkleur_nummer+'_pms' );
		if ( select_id.style.display=='none' )
		{
			select_id.style.display='';
			input_id.style.display='none';
		}
		else
		{
			input_id.value = select_id.value;
			select_id.style.display='none';
			input_id.style.display='';
		}
	}
	
}

function afdrukken() 
{
	window.print();  
}
function positioneer_uploadform()
{
	if ( document.getElementById('upload_form_locatie') )
	{
		var loc = document.getElementById('upload_form_locatie').offsetTop;
/*	if ( document.getElementById('error_field') )
	{
		var loc2 = document.getElementById('error_field').clientHeight;
		console.log ( loc2 );

		loc = loc - loc2;
	}*/
		document.getElementById ( 'upload_form' ).style.marginTop = loc+10+'px';
	}
	
}
function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
} 

